using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop.Outlook;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace ToodleOutlook
{
    public class GenericTaskItem: Outlook.TaskItem
    {
        private string body;
        private string categories;
        private string companies;
        private DateTime creationTime;
        private OlImportance importance;
        private DateTime lastModificationTime;
        private string subject;
        private bool complete;
        private DateTime dateCompleted;
        private DateTime dueDate;
        private DateTime reminderTime;
        private bool reminderSet;
        private DateTime startDate;
        private OlTaskStatus status;

        void _TaskItem.Close(OlInspectorClose SaveMode)
        {
            throw new NotImplementedException();
        }

        public object Copy()
        {
            throw new NotImplementedException();
        }

        public void Delete()
        {
            throw new NotImplementedException();
        }

        public void Display(object Modal)
        {
            throw new NotImplementedException();
        }

        public object Move(MAPIFolder DestFldr)
        {
            throw new NotImplementedException();
        }

        public void PrintOut()
        {
            throw new NotImplementedException();
        }

        public void Save()
        {
            throw new NotImplementedException();
        }

        public void SaveAs(string Path, object Type)
        {
            throw new NotImplementedException();
        }

        public TaskItem Assign()
        {
            throw new NotImplementedException();
        }

        public void CancelResponseState()
        {
            throw new NotImplementedException();
        }

        public void ClearRecurrencePattern()
        {
            throw new NotImplementedException();
        }

        public RecurrencePattern GetRecurrencePattern()
        {
            throw new NotImplementedException();
        }

        public void MarkComplete()
        {
            throw new NotImplementedException();
        }

        public TaskItem Respond(OlTaskResponse Response, object fNoUI, object fAdditionalTextDialog)
        {
            throw new NotImplementedException();
        }

        void _TaskItem.Send()
        {
            throw new NotImplementedException();
        }

        public bool SkipRecurrence()
        {
            throw new NotImplementedException();
        }

        public object StatusReport()
        {
            throw new NotImplementedException();
        }

        public void ShowCategoriesDialog()
        {
            throw new NotImplementedException();
        }

        public Application Application
        {
            get { throw new NotImplementedException(); }
        }

        public OlObjectClass Class
        {
            get { throw new NotImplementedException(); }
        }

        public NameSpace Session
        {
            get { throw new NotImplementedException(); }
        }

        public object Parent
        {
            get { throw new NotImplementedException(); }
        }

        public Actions Actions
        {
            get { throw new NotImplementedException(); }
        }

        public Attachments Attachments
        {
            get { throw new NotImplementedException(); }
        }

        public string BillingInformation
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string Body
        {
            get { return body; }
            set { body = value; }
        }

        public string Categories
        {
            get { return categories; }
            set { categories = value; }
        }

        public string Companies
        {
            get { return companies; }
            set { companies = value; }
        }

        public string ConversationIndex
        {
            get { throw new NotImplementedException(); }
        }

        public string ConversationTopic
        {
            get { throw new NotImplementedException(); }
        }

        public DateTime CreationTime
        {
            get { return creationTime; }
        }

        public string EntryID
        {
            get { throw new NotImplementedException(); }
        }

        public FormDescription FormDescription
        {
            get { throw new NotImplementedException(); }
        }

        public Inspector GetInspector
        {
            get { throw new NotImplementedException(); }
        }

        public OlImportance Importance
        {
            get { return importance; }
            set { importance = value; }
        }

        public DateTime LastModificationTime
        {
            get { return lastModificationTime; }
        }

        public object MAPIOBJECT
        {
            get { throw new NotImplementedException(); }
        }

        public string MessageClass
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string Mileage
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public bool NoAging
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public int OutlookInternalVersion
        {
            get { throw new NotImplementedException(); }
        }

        public string OutlookVersion
        {
            get { throw new NotImplementedException(); }
        }

        public bool Saved
        {
            get { throw new NotImplementedException(); }
        }

        public OlSensitivity Sensitivity
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public int Size
        {
            get { throw new NotImplementedException(); }
        }

        public string Subject
        {
            get { return subject; }
            set { subject = value; }
        }

        public bool UnRead
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public UserProperties UserProperties
        {
            get { throw new NotImplementedException(); }
        }

        public int ActualWork
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string CardData
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public bool Complete
        {
            get { return complete; }
            set { complete = value; }
        }

        public string Contacts
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string ContactNames
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public DateTime DateCompleted
        {
            get { return dateCompleted; }
            set { dateCompleted = value; }
        }

        public OlTaskDelegationState DelegationState
        {
            get { throw new NotImplementedException(); }
        }

        public string Delegator
        {
            get { throw new NotImplementedException(); }
        }

        public DateTime DueDate
        {
            get { return dueDate; }
            set { dueDate = value; }
        }

        public bool IsRecurring
        {
            get { throw new NotImplementedException(); }
        }

        public int Ordinal
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string Owner
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public OlTaskOwnership Ownership
        {
            get { throw new NotImplementedException(); }
        }

        public int PercentComplete
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public Recipients Recipients
        {
            get { throw new NotImplementedException(); }
        }

        public DateTime ReminderTime
        {
            get { return reminderTime; }
            set { reminderTime = value; }
        }

        public bool ReminderOverrideDefault
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public bool ReminderPlaySound
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public bool ReminderSet
        {
            get { return reminderSet; }
            set { reminderSet = value; }
        }

        public string ReminderSoundFile
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public OlTaskResponse ResponseState
        {
            get { throw new NotImplementedException(); }
        }

        public string Role
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string SchedulePlusPriority
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public DateTime StartDate
        {
            get { return startDate; }
            set { startDate = value; }
        }

        public OlTaskStatus Status
        {
            get { return status; }
            set { status = value; }
        }

        public string StatusOnCompletionRecipients
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public string StatusUpdateRecipients
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public bool TeamTask
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public int TotalWork
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public Links Links
        {
            get { throw new NotImplementedException(); }
        }

        public OlDownloadState DownloadState
        {
            get { throw new NotImplementedException(); }
        }

        public ItemProperties ItemProperties
        {
            get { throw new NotImplementedException(); }
        }

        public int InternetCodepage
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public OlRemoteStatus MarkForDownload
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public bool IsConflict
        {
            get { throw new NotImplementedException(); }
        }

        public bool AutoResolvedWinner
        {
            get { throw new NotImplementedException(); }
        }

        public Conflicts Conflicts
        {
            get { throw new NotImplementedException(); }
        }

        public PropertyAccessor PropertyAccessor
        {
            get { throw new NotImplementedException(); }
        }

        public Account SendUsingAccount
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public DateTime ToDoTaskOrdinal
        {
            get { throw new NotImplementedException(); }
            set { throw new NotImplementedException(); }
        }

        public event ItemEvents_10_OpenEventHandler Open;
        public event ItemEvents_10_CustomActionEventHandler CustomAction;
        public event ItemEvents_10_CustomPropertyChangeEventHandler CustomPropertyChange;
        public event ItemEvents_10_ForwardEventHandler Forward;
        public event ItemEvents_10_CloseEventHandler Close;
        public event ItemEvents_10_PropertyChangeEventHandler PropertyChange;
        public event ItemEvents_10_ReadEventHandler Read;
        public event ItemEvents_10_ReplyEventHandler Reply;
        public event ItemEvents_10_ReplyAllEventHandler ReplyAll;
        public event ItemEvents_10_SendEventHandler Send;
        public event ItemEvents_10_WriteEventHandler Write;
        public event ItemEvents_10_BeforeCheckNamesEventHandler BeforeCheckNames;
        public event ItemEvents_10_AttachmentAddEventHandler AttachmentAdd;
        public event ItemEvents_10_AttachmentReadEventHandler AttachmentRead;
        public event ItemEvents_10_BeforeAttachmentSaveEventHandler BeforeAttachmentSave;
        public event ItemEvents_10_BeforeDeleteEventHandler BeforeDelete;
        public event ItemEvents_10_AttachmentRemoveEventHandler AttachmentRemove;
        public event ItemEvents_10_BeforeAttachmentAddEventHandler BeforeAttachmentAdd;
        public event ItemEvents_10_BeforeAttachmentPreviewEventHandler BeforeAttachmentPreview;
        public event ItemEvents_10_BeforeAttachmentReadEventHandler BeforeAttachmentRead;
        public event ItemEvents_10_BeforeAttachmentWriteToTempFileEventHandler BeforeAttachmentWriteToTempFile;
        public event ItemEvents_10_UnloadEventHandler Unload;
        public event ItemEvents_10_BeforeAutoSaveEventHandler BeforeAutoSave;

        public void add_Open(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Open(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_CustomAction(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_CustomAction(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_CustomPropertyChange(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_CustomPropertyChange(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_Forward(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Forward(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_Close(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Close(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_PropertyChange(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_PropertyChange(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_Read(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Read(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_Reply(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Reply(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_ReplyAll(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_ReplyAll(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_Send(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Send(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_Write(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Write(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeCheckNames(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeCheckNames(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_AttachmentAdd(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_AttachmentAdd(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_AttachmentRead(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_AttachmentRead(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeAttachmentSave(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeAttachmentSave(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeDelete(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeDelete(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_AttachmentRemove(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_AttachmentRemove(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeAttachmentAdd(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeAttachmentAdd(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeAttachmentPreview(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeAttachmentPreview(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeAttachmentRead(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeAttachmentRead(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeAttachmentWriteToTempFile(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeAttachmentWriteToTempFile(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_Unload(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_Unload(object obj0)
        {
            throw new NotImplementedException();
        }

        public void add_BeforeAutoSave(object obj0)
        {
            throw new NotImplementedException();
        }

        public void remove_BeforeAutoSave(object obj0)
        {
            throw new NotImplementedException();
        }
    }
}
